home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
- #include "defs.h"
-
- nt mask[] = {
- 126, 222, 167, 200, 216, 181,
- 230, 210, 94, 72, 242, 232,
- 153, 111, 36, 52, 193, 255,
- 200, 216, 181, 126, 222, 167,
- 72, 242, 232, 230, 210, 94,
- 52, 193, 255, 153, 111, 36
- };
- #define BOXSIZE 6
-
- har *progname;
- har *filename;
- ixrect *pr1, *pr2;
-
- #ifdef STANDALONE
- ain(argc, argv, envp)
- #else
- ither_main(argc, argv, envp)
- #endif
- int argc;
- char **argv;
- char **envp;
- {
- int boxsize;
- int mp;
- register int i, j, x, y;
- int levels;
-
- boxsize = BOXSIZE;
- progname = strsave(argv[0]);
- parse_profile(&argc, argv, envp);
-
- while ((gc = getopt(argc, argv, " ")) != EOF)
- switch (gc) {
- case '?':
- errflag++;
- break;
- }
-
- if (errflag)
- error((char *) 0, "Usage: %s: [infile] [outfile]\n", progname);
-
- for (stream = 0; optind < argc; stream++, optind++)
- if (stream < 2 && strcmp(argv[optind], "-") != 0)
- if (freopen(argv[optind], mode[stream], f[stream]) == NULL)
- error("%s %s", PR_IO_ERR_INFILE, argv[optind]);
-
- if ((pr1 = pr_load(stdin, NULL)) == NULL)
- error(PR_IO_ERR_RASREAD);
-
- if (pr1->pr_depth != 8)
- error("Input image not 8 bits deep");
-
- if ((pr2 = mem_create(pr1->pr_size.x, pr1->pr_size.y, 1)) == NULL)
- error("mem_create returned NULL");
-
- for (y = 0; y < pr1->pr_size.y; y += boxsize)
- for (x = 0; x < pr1->pr_size.x; x += boxsize)
- for (j = 0, mp = 0; j < boxsize; j++)
- for (i = 0; i < boxsize; i++)
- pr_put(pr2, x + i, y + j, (pr_get(pr1, x + i, y + j) > mask[mp++]) ? 0 : 1);
-
- pr_dump(pr2, stdout, NULL, RT_STANDARD, 0);
- }
-